package apidocs;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * API标记Action，提供API具体信息
 * Created by zhangzc on 2/17/17.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface Api {

    /**
     * API名称
     * @return
     */
    String name();

    /**
     * 在文档中的排序，数字越大排位越前
     * @return
     */
    int weight() default 0;

    /**
     * API大段正文描述
     * @return
     */
    String desc() default "";

    /**
     * GET或者POST
     * @return
     */
    String requestMethod() default "GET";

    /**
     * 返回结果是否是列表
     * @return
     */
    boolean isList() default false;

    /**
     * 返回的数据类型，如果是boolean、Integer等基础类型，请在resultNote里面标注含义
     * @return
     */
    Class<?> resultType();

    /**
     * 标注返回数据的含义
     * @return
     */
    String resultNote() default "";

    /**
     * 注意事项
     * @return
     */
    String note() default "";

}
